import request from '@/config/axios'

// 出入库信息 VO
export interface StockInfoVO {
  id: number // 序列
  userId: number // 创建用户ID
  storeId: string // 存放仓库ID（store表主键）
  operateType: number // 操作类型：0--入库，1--出库
  infoId: number // 供求信息ID
  infoName: string // 信息名称
  infoSn: string // 信息编码(无可不填)
  infoNums: number // 库存数量
  infoBn: string // 信息条码(扫码条码)
  infoDesc: string // 信息备注
  infoStatus: number // 出库状态：0--新建出/入库单，1--允许出/入库，2--拒绝出/入库
  addType: number // 添加方式：0--手动出/入库，1--扫码导出/入，2--批量导出/入
  scanStatus: number // 扫描方式：0--正常扫描，1--重复扫描
  orderId: string // 关联订单编号(出库)
}

// 出入库信息 API
export const StockInfoApi = {
  // 查询出入库信息分页
  getStockInfoPage: async (params: any) => {
    return await request.get({ url: `/wine/stock-info/page`, params })
  },

  // 查询出入库信息详情
  getStockInfo: async (id: number) => {
    return await request.get({ url: `/wine/stock-info/get?id=` + id })
  },

  // 新增出入库信息
  createStockInfo: async (data: StockInfoVO) => {
    return await request.post({ url: `/wine/stock-info/create`, data })
  },

  // 修改出入库信息
  updateStockInfo: async (data: StockInfoVO) => {
    return await request.put({ url: `/wine/stock-info/update`, data })
  },

  // 删除出入库信息
  deleteStockInfo: async (id: number) => {
    return await request.delete({ url: `/wine/stock-info/delete?id=` + id })
  },

  // 导出出入库信息 Excel
  exportStockInfo: async (params) => {
    return await request.download({ url: `/wine/stock-info/export-excel`, params })
  }
}